<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: 301/CO_SDOclient.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CANopenNode
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('CO__SDOclient_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">CO_SDOclient.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="CO__SDOclient_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifndef CO_SDO_CLIENT_H</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CO_SDO_CLIENT_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__driver_8h.html">301/CO_driver.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__ODinterface_8h.html">301/CO_ODinterface.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__SDOserver_8h.html">301/CO_SDOserver.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__fifo_8h.html">301/CO_fifo.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* default configuration, see CO_config.h */</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#ifndef CO_CONFIG_SDO_CLI</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define CO_CONFIG_SDO_CLI (0)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifndef CO_CONFIG_SDO_CLI_BUFFER_SIZE</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"> #if (CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_BLOCK</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">  #define CO_CONFIG_SDO_CLI_BUFFER_SIZE 1000</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"> #else</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">  #define CO_CONFIG_SDO_CLI_BUFFER_SIZE 32</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_ENABLE) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html">   67</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_LOCAL) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a89334ad9cc4ac6751f4a8225f1645923">   70</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="structOD__t.html">OD_t</a> *<a class="code" href="structCO__SDOclient__t.html#a89334ad9cc4ac6751f4a8225f1645923">OD</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a13de9457791eecf17051e405665bfa4a">   72</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a13de9457791eecf17051e405665bfa4a">nodeId</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a16fa659bc3098a3fbd60d0f6efde937a">   74</a></span>&#160;    <a class="code" href="structOD__IO__t.html">OD_IO_t</a> <a class="code" href="structCO__SDOclient__t.html#a16fa659bc3098a3fbd60d0f6efde937a">OD_IO</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a609088a2005febd6cd1561288cf1b7d1">   76</a></span>&#160;    <a class="code" href="group__CO__ODinterface.html#ga8d459f95307815637e41edc4df71a725">OD_attr_t</a> <a class="code" href="structCO__SDOclient__t.html#a609088a2005febd6cd1561288cf1b7d1">attribute</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a3283cda81a28d3b193a6a6bef29fadab">   79</a></span>&#160;    <a class="code" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *<a class="code" href="structCO__SDOclient__t.html#a3283cda81a28d3b193a6a6bef29fadab">CANdevRx</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#afb8613dbcacfcefb970fabca4106eaeb">   81</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> <a class="code" href="structCO__SDOclient__t.html#afb8613dbcacfcefb970fabca4106eaeb">CANdevRxIdx</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ab4f18ed8c085ea333ca165e486f4ead3">   83</a></span>&#160;    <a class="code" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *<a class="code" href="structCO__SDOclient__t.html#ab4f18ed8c085ea333ca165e486f4ead3">CANdevTx</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a2a44e72381604a972f0e289495a41c37">   85</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> <a class="code" href="structCO__SDOclient__t.html#a2a44e72381604a972f0e289495a41c37">CANdevTxIdx</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a58efad796664487290b52b79cbdb3ae0">   87</a></span>&#160;    <a class="code" href="structCO__CANtx__t.html">CO_CANtx_t</a> *<a class="code" href="structCO__SDOclient__t.html#a58efad796664487290b52b79cbdb3ae0">CANtxBuff</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_FLAG_OD_DYNAMIC) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a8752f1ad790cc61af17ff8b93b80c7ef">   93</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#a8752f1ad790cc61af17ff8b93b80c7ef">COB_IDClientToServer</a>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a7b29a785240ca994c7dafd07d5a396e4">   95</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#a7b29a785240ca994c7dafd07d5a396e4">COB_IDServerToClient</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a9e3c564cd4d027c5bd93bd25293ebacc">   98</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a9e3c564cd4d027c5bd93bd25293ebacc">nodeIDOfTheSDOServer</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <span class="comment">/* If true, SDO channel is valid */</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> valid;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ad4fc4deee415a621f3558266ba447455">  102</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> <a class="code" href="structCO__SDOclient__t.html#ad4fc4deee415a621f3558266ba447455">index</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a7f36981af65dc318dd69213c408b1b62">  104</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a7f36981af65dc318dd69213c408b1b62">subIndex</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="comment">/* If true, then data transfer is finished */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> finished;</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a1b9dc211b9b90dac825097757f985583">  109</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="structCO__SDOclient__t.html#a1b9dc211b9b90dac825097757f985583">sizeInd</a>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#aa7a9ddc5dbf035644cf59857dcfa83db">  111</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="structCO__SDOclient__t.html#aa7a9ddc5dbf035644cf59857dcfa83db">sizeTran</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a511a3981c4664be192b19714b95995c0">  113</a></span>&#160;    <span class="keyword">volatile</span> <a class="code" href="group__CO__SDOserver.html#ga0b0e614dadcc1c005185b8bc9a7fec11">CO_SDO_state_t</a> <a class="code" href="structCO__SDOclient__t.html#a511a3981c4664be192b19714b95995c0">state</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ab2f8be2e90734e78f4e78bdabbb13488">  115</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#ab2f8be2e90734e78f4e78bdabbb13488">SDOtimeoutTime_us</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a4e2ff087f13ff5a4754b9186c1a2929e">  117</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#a4e2ff087f13ff5a4754b9186c1a2929e">timeoutTimer</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a634a9311de3569cf38841d2faaac20b3">  119</a></span>&#160;    <a class="code" href="structCO__fifo__t.html">CO_fifo_t</a> <a class="code" href="structCO__SDOclient__t.html#a634a9311de3569cf38841d2faaac20b3">bufFifo</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#aa56b1f115aee473f5c264142053ed0ae">  122</a></span>&#160;    <span class="keywordtype">char</span> buf[<a class="code" href="group__CO__STACK__CONFIG__SDO.html#ga763b09ab827365e46f10234bd9c0acfd">CO_CONFIG_SDO_CLI_BUFFER_SIZE</a> + 1];</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a8020d62a62634a531a2efa43ef4534f5">  125</a></span>&#160;    <span class="keyword">volatile</span> <span class="keywordtype">void</span> *<a class="code" href="structCO__SDOclient__t.html#a8020d62a62634a531a2efa43ef4534f5">CANrxNew</a>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a0bc8e66b7818bca04a4b49ae8210b387">  127</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> CANrxData[8];</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_FLAG_CALLBACK_PRE) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ae7bbefdb0854addfa2ae45dcfc39d738">  130</a></span>&#160;    void (*pFunctSignal)(<span class="keywordtype">void</span> *object);</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a582292a9d5db2b3bf09bb089c788ecd0">  132</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="structCO__SDOclient__t.html#a582292a9d5db2b3bf09bb089c788ecd0">functSignalObject</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_SEGMENTED) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a5962727f5c1830337146c7b2b389b391">  136</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a5962727f5c1830337146c7b2b389b391">toggle</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_BLOCK) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ae86079157706e7db12d9d4817172ba10">  140</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#ae86079157706e7db12d9d4817172ba10">block_SDOtimeoutTime_us</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a8a667736bf5d22e7bb76f8b25d8b0268">  142</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> <a class="code" href="structCO__SDOclient__t.html#a8a667736bf5d22e7bb76f8b25d8b0268">block_timeoutTimer</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a628780da4dccceab6ce79ad880989b26">  144</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a628780da4dccceab6ce79ad880989b26">block_seqno</a>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a36b10791595b638309a01418d13a745f">  146</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a36b10791595b638309a01418d13a745f">block_blksize</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a26f9fcf95f47a4f7eeaefdf684e317a1">  148</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="code" href="structCO__SDOclient__t.html#a26f9fcf95f47a4f7eeaefdf684e317a1">block_noData</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a8690a5e7ee83fb7e0fa3a76cdec83f3a">  150</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> <a class="code" href="structCO__SDOclient__t.html#a8690a5e7ee83fb7e0fa3a76cdec83f3a">block_crcEnabled</a>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#ae9e678cb0e461851298658c7eee01334">  152</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> block_dataUploadLast[7];</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structCO__SDOclient__t.html#a51322a623ff85d36a8be60c0fe11430e">  154</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> <a class="code" href="structCO__SDOclient__t.html#a51322a623ff85d36a8be60c0fe11430e">block_crc</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;} <a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a>;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<a class="code" href="group__CO__driver.html#ga1cb2d3466eb0c6d267f3b5ff1a0d9532">CO_ReturnError_t</a> <a class="code" href="group__CO__SDOclient.html#ga754160e34089aea70f84d22b06eaff9e">CO_SDOclient_init</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                                   <span class="keyword">const</span> <a class="code" href="structOD__t.html">OD_t</a> *OD,</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;                                   <span class="keyword">const</span> <a class="code" href="structOD__entry__t.html">OD_entry_t</a> *OD_1280_SDOcliPar,</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nodeId,</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                                   <a class="code" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANdevRx,</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> CANdevRxIdx,</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                                   <a class="code" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANdevTx,</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> CANdevTxIdx);</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160; </div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_FLAG_CALLBACK_PRE) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__CO__SDOclient.html#ga4377eaecc3bd0a8320a2bbe1ef0ef776">CO_SDOclient_initCallbackPre</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDOclient,</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                                  <span class="keywordtype">void</span> *<span class="keywordtype">object</span>,</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                                  <span class="keywordtype">void</span> (*pFunctSignal)(<span class="keywordtype">void</span> *<span class="keywordtype">object</span>));</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<a class="code" href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a> <a class="code" href="group__CO__SDOclient.html#gade3bf4e3249aa4c611570ec43563a08d">CO_SDOclient_setup</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> COB_IDClientToServer,</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> COB_IDServerToClient,</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nodeIDOfTheSDOServer);</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<a class="code" href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a> <a class="code" href="group__CO__SDOclient.html#ga40f6e79592e1d587d02bbb4eaefa9489">CO_SDOclientDownloadInitiate</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;                                             <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> index,</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;                                             <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> subIndex,</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;                                             <span class="keywordtype">size_t</span> sizeIndicated,</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;                                             <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> SDOtimeoutTime_ms,</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;                                             <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> blockEnable);</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__CO__SDOclient.html#gaf58b7731b4285538c26a0c7c49ab24b6">CO_SDOclientDownloadInitiateSize</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                                      <span class="keywordtype">size_t</span> sizeIndicated);</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="group__CO__SDOclient.html#ga958d0568bd47d9a3152f9ea8d104b5f5">CO_SDOclientDownloadBufWrite</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *buf,</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                                    <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<a class="code" href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a> <a class="code" href="group__CO__SDOclient.html#gaab262f0a8d08ba023639a2c197d0943a">CO_SDOclientDownload</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                                     <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timeDifference_us,</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;                                     <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> abort,</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;                                     <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> bufferPartial,</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;                                     <a class="code" href="group__CO__SDOserver.html#ga7587ddcf798747fe6d97d03bf1bf2979">CO_SDO_abortCode_t</a> *SDOabortCode,</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;                                     <span class="keywordtype">size_t</span> *sizeTransferred,</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;                                     <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> *timerNext_us);</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160; </div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<a class="code" href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a> <a class="code" href="group__CO__SDOclient.html#ga3180f82563b3ed768fe7d3bd34fe1886">CO_SDOclientUploadInitiate</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                                           <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> index,</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                                           <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> subIndex,</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                                           <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> SDOtimeoutTime_ms,</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                                           <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> blockEnable);</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160; </div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<a class="code" href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a> <a class="code" href="group__CO__SDOclient.html#gabd3a3be7e3d1649adfdd253c979ec21f">CO_SDOclientUpload</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timeDifference_us,</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a> abort,</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                                   <a class="code" href="group__CO__SDOserver.html#ga7587ddcf798747fe6d97d03bf1bf2979">CO_SDO_abortCode_t</a> *SDOabortCode,</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;                                   <span class="keywordtype">size_t</span> *sizeIndicated,</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                                   <span class="keywordtype">size_t</span> *sizeTransferred,</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                                   <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> *timerNext_us);</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160; </div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="group__CO__SDOclient.html#gaf5cd4e009476b15a2cd995a9841fb175">CO_SDOclientUploadBufRead</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C,</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;                                 <span class="keywordtype">char</span> *buf,</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;                                 <span class="keywordtype">size_t</span> count);</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__CO__SDOclient.html#ga9b98ea2c36f864f1a589c842528b12ab">CO_SDOclientClose</a>(<a class="code" href="structCO__SDOclient__t.html">CO_SDOclient_t</a> *SDO_C);</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; <span class="comment">/* CO_SDOclient */</span></div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160; </div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;}</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*__cplusplus*/</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* (CO_CONFIG_SDO_CLI) &amp; CO_CONFIG_SDO_CLI_ENABLE */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160; </div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CO_SDO_CLIENT_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="agroup__CO__dataTypes_html_ga33594304e786b158f3fb30289278f5af"><div class="ttname"><a href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a></div><div class="ttdeci">unsigned long int uint32_t</div><div class="ttdoc">UNSIGNED32 in CANopen (0007h), 32-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:155</div></div>
<div class="ttc" id="aCO__driver_8h_html"><div class="ttname"><a href="CO__driver_8h.html">CO_driver.h</a></div><div class="ttdoc">Interface between CAN hardware and CANopenNode.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a8020d62a62634a531a2efa43ef4534f5"><div class="ttname"><a href="structCO__SDOclient__t.html#a8020d62a62634a531a2efa43ef4534f5">CO_SDOclient_t::CANrxNew</a></div><div class="ttdeci">volatile void * CANrxNew</div><div class="ttdoc">Indicates, if new SDO message received from CAN bus.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:125</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a609088a2005febd6cd1561288cf1b7d1"><div class="ttname"><a href="structCO__SDOclient__t.html#a609088a2005febd6cd1561288cf1b7d1">CO_SDOclient_t::attribute</a></div><div class="ttdeci">OD_attr_t attribute</div><div class="ttdoc">Attribute for locally transferred OD sub-object, see OD_attributes_t.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:76</div></div>
<div class="ttc" id="agroup__CO__SDOserver_html_ga7f729ab203285c7623df493916f22a73"><div class="ttname"><a href="group__CO__SDOserver.html#ga7f729ab203285c7623df493916f22a73">CO_SDO_return_t</a></div><div class="ttdeci">CO_SDO_return_t</div><div class="ttdoc">Return values from SDO server or client functions.</div><div class="ttdef"><b>Definition:</b> CO_SDOserver.h:410</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a8690a5e7ee83fb7e0fa3a76cdec83f3a"><div class="ttname"><a href="structCO__SDOclient__t.html#a8690a5e7ee83fb7e0fa3a76cdec83f3a">CO_SDOclient_t::block_crcEnabled</a></div><div class="ttdeci">bool_t block_crcEnabled</div><div class="ttdoc">Server CRC support in block transfer.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:150</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html"><div class="ttname"><a href="structCO__SDOclient__t.html">CO_SDOclient_t</a></div><div class="ttdoc">SDO client object.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:67</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_gade3bf4e3249aa4c611570ec43563a08d"><div class="ttname"><a href="group__CO__SDOclient.html#gade3bf4e3249aa4c611570ec43563a08d">CO_SDOclient_setup</a></div><div class="ttdeci">CO_SDO_return_t CO_SDOclient_setup(CO_SDOclient_t *SDO_C, uint32_t COB_IDClientToServer, uint32_t COB_IDServerToClient, uint8_t nodeIDOfTheSDOServer)</div><div class="ttdoc">Setup SDO client object.</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_ga1f1825b69244eb3ad2c7165ddc99c956"><div class="ttname"><a href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a></div><div class="ttdeci">unsigned int uint16_t</div><div class="ttdoc">UNSIGNED16 in CANopen (0006h), 16-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:153</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a8752f1ad790cc61af17ff8b93b80c7ef"><div class="ttname"><a href="structCO__SDOclient__t.html#a8752f1ad790cc61af17ff8b93b80c7ef">CO_SDOclient_t::COB_IDClientToServer</a></div><div class="ttdeci">uint32_t COB_IDClientToServer</div><div class="ttdoc">Copy of CANopen COB_ID Client -&gt; Server, meaning of the specific bits:</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:93</div></div>
<div class="ttc" id="agroup__CO__STACK__CONFIG__SDO_html_ga763b09ab827365e46f10234bd9c0acfd"><div class="ttname"><a href="group__CO__STACK__CONFIG__SDO.html#ga763b09ab827365e46f10234bd9c0acfd">CO_CONFIG_SDO_CLI_BUFFER_SIZE</a></div><div class="ttdeci">#define CO_CONFIG_SDO_CLI_BUFFER_SIZE</div><div class="ttdoc">Size of the internal data buffer for the SDO client.</div><div class="ttdef"><b>Definition:</b> CO_config.h:386</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a1b9dc211b9b90dac825097757f985583"><div class="ttname"><a href="structCO__SDOclient__t.html#a1b9dc211b9b90dac825097757f985583">CO_SDOclient_t::sizeInd</a></div><div class="ttdeci">size_t sizeInd</div><div class="ttdoc">Size of data, which will be transferred.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:109</div></div>
<div class="ttc" id="agroup__CO__driver_html_ga1cb2d3466eb0c6d267f3b5ff1a0d9532"><div class="ttname"><a href="group__CO__driver.html#ga1cb2d3466eb0c6d267f3b5ff1a0d9532">CO_ReturnError_t</a></div><div class="ttdeci">CO_ReturnError_t</div><div class="ttdoc">Return values of some CANopen functions.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:488</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a16fa659bc3098a3fbd60d0f6efde937a"><div class="ttname"><a href="structCO__SDOclient__t.html#a16fa659bc3098a3fbd60d0f6efde937a">CO_SDOclient_t::OD_IO</a></div><div class="ttdeci">OD_IO_t OD_IO</div><div class="ttdoc">Object dictionary interface for locally transferred object.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:74</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_gabd3a3be7e3d1649adfdd253c979ec21f"><div class="ttname"><a href="group__CO__SDOclient.html#gabd3a3be7e3d1649adfdd253c979ec21f">CO_SDOclientUpload</a></div><div class="ttdeci">CO_SDO_return_t CO_SDOclientUpload(CO_SDOclient_t *SDO_C, uint32_t timeDifference_us, bool_t abort, CO_SDO_abortCode_t *SDOabortCode, size_t *sizeIndicated, size_t *sizeTransferred, uint32_t *timerNext_us)</div><div class="ttdoc">Process SDO upload communication.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a634a9311de3569cf38841d2faaac20b3"><div class="ttname"><a href="structCO__SDOclient__t.html#a634a9311de3569cf38841d2faaac20b3">CO_SDOclient_t::bufFifo</a></div><div class="ttdeci">CO_fifo_t bufFifo</div><div class="ttdoc">CO_fifo_t object for data buffer (not pointer)</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:119</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_ga449976458a084f880dc8e3d29e7eb6f5"><div class="ttname"><a href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a></div><div class="ttdeci">unsigned char bool_t</div><div class="ttdoc">Boolean data type for general use.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:141</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga754160e34089aea70f84d22b06eaff9e"><div class="ttname"><a href="group__CO__SDOclient.html#ga754160e34089aea70f84d22b06eaff9e">CO_SDOclient_init</a></div><div class="ttdeci">CO_ReturnError_t CO_SDOclient_init(CO_SDOclient_t *SDO_C, const OD_t *OD, const OD_entry_t *OD_1280_SDOcliPar, uint8_t nodeId, CO_CANmodule_t *CANdevRx, uint16_t CANdevRxIdx, CO_CANmodule_t *CANdevTx, uint16_t CANdevTxIdx)</div><div class="ttdoc">Initialize SDO client object.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a8a667736bf5d22e7bb76f8b25d8b0268"><div class="ttname"><a href="structCO__SDOclient__t.html#a8a667736bf5d22e7bb76f8b25d8b0268">CO_SDOclient_t::block_timeoutTimer</a></div><div class="ttdeci">uint32_t block_timeoutTimer</div><div class="ttdoc">Timeout timer for SDO sub-block upload.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:142</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a7f36981af65dc318dd69213c408b1b62"><div class="ttname"><a href="structCO__SDOclient__t.html#a7f36981af65dc318dd69213c408b1b62">CO_SDOclient_t::subIndex</a></div><div class="ttdeci">uint8_t subIndex</div><div class="ttdoc">Subindex of current object in Object Dictionary.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:104</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a89334ad9cc4ac6751f4a8225f1645923"><div class="ttname"><a href="structCO__SDOclient__t.html#a89334ad9cc4ac6751f4a8225f1645923">CO_SDOclient_t::OD</a></div><div class="ttdeci">const OD_t * OD</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:70</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_ad4fc4deee415a621f3558266ba447455"><div class="ttname"><a href="structCO__SDOclient__t.html#ad4fc4deee415a621f3558266ba447455">CO_SDOclient_t::index</a></div><div class="ttdeci">uint16_t index</div><div class="ttdoc">Index of current object in Object Dictionary.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:102</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga4377eaecc3bd0a8320a2bbe1ef0ef776"><div class="ttname"><a href="group__CO__SDOclient.html#ga4377eaecc3bd0a8320a2bbe1ef0ef776">CO_SDOclient_initCallbackPre</a></div><div class="ttdeci">void CO_SDOclient_initCallbackPre(CO_SDOclient_t *SDOclient, void *object, void(*pFunctSignal)(void *object))</div><div class="ttdoc">Initialize SDOclient callback function.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a9e3c564cd4d027c5bd93bd25293ebacc"><div class="ttname"><a href="structCO__SDOclient__t.html#a9e3c564cd4d027c5bd93bd25293ebacc">CO_SDOclient_t::nodeIDOfTheSDOServer</a></div><div class="ttdeci">uint8_t nodeIDOfTheSDOServer</div><div class="ttdoc">Node-ID of the SDO server.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:98</div></div>
<div class="ttc" id="aCO__SDOserver_8h_html"><div class="ttname"><a href="CO__SDOserver_8h.html">CO_SDOserver.h</a></div><div class="ttdoc">CANopen Service Data Object - server protocol.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a3283cda81a28d3b193a6a6bef29fadab"><div class="ttname"><a href="structCO__SDOclient__t.html#a3283cda81a28d3b193a6a6bef29fadab">CO_SDOclient_t::CANdevRx</a></div><div class="ttdeci">CO_CANmodule_t * CANdevRx</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:79</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_gaf58b7731b4285538c26a0c7c49ab24b6"><div class="ttname"><a href="group__CO__SDOclient.html#gaf58b7731b4285538c26a0c7c49ab24b6">CO_SDOclientDownloadInitiateSize</a></div><div class="ttdeci">void CO_SDOclientDownloadInitiateSize(CO_SDOclient_t *SDO_C, size_t sizeIndicated)</div><div class="ttdoc">Initiate SDO download communication - update size.</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_gaab262f0a8d08ba023639a2c197d0943a"><div class="ttname"><a href="group__CO__SDOclient.html#gaab262f0a8d08ba023639a2c197d0943a">CO_SDOclientDownload</a></div><div class="ttdeci">CO_SDO_return_t CO_SDOclientDownload(CO_SDOclient_t *SDO_C, uint32_t timeDifference_us, bool_t abort, bool_t bufferPartial, CO_SDO_abortCode_t *SDOabortCode, size_t *sizeTransferred, uint32_t *timerNext_us)</div><div class="ttdoc">Process SDO download communication.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a7b29a785240ca994c7dafd07d5a396e4"><div class="ttname"><a href="structCO__SDOclient__t.html#a7b29a785240ca994c7dafd07d5a396e4">CO_SDOclient_t::COB_IDServerToClient</a></div><div class="ttdeci">uint32_t COB_IDServerToClient</div><div class="ttdoc">Copy of CANopen COB_ID Server -&gt; Client, similar as above.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:95</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a2a44e72381604a972f0e289495a41c37"><div class="ttname"><a href="structCO__SDOclient__t.html#a2a44e72381604a972f0e289495a41c37">CO_SDOclient_t::CANdevTxIdx</a></div><div class="ttdeci">uint16_t CANdevTxIdx</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:85</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a5962727f5c1830337146c7b2b389b391"><div class="ttname"><a href="structCO__SDOclient__t.html#a5962727f5c1830337146c7b2b389b391">CO_SDOclient_t::toggle</a></div><div class="ttdeci">uint8_t toggle</div><div class="ttdoc">Toggle bit toggled in each segment in segmented transfer.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:136</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a58efad796664487290b52b79cbdb3ae0"><div class="ttname"><a href="structCO__SDOclient__t.html#a58efad796664487290b52b79cbdb3ae0">CO_SDOclient_t::CANtxBuff</a></div><div class="ttdeci">CO_CANtx_t * CANtxBuff</div><div class="ttdoc">CAN transmit buffer inside CANdevTx for CAN tx message.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:87</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_ae86079157706e7db12d9d4817172ba10"><div class="ttname"><a href="structCO__SDOclient__t.html#ae86079157706e7db12d9d4817172ba10">CO_SDOclient_t::block_SDOtimeoutTime_us</a></div><div class="ttdeci">uint32_t block_SDOtimeoutTime_us</div><div class="ttdoc">Timeout time for SDO sub-block upload, half of SDOtimeoutTime_us.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:140</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a628780da4dccceab6ce79ad880989b26"><div class="ttname"><a href="structCO__SDOclient__t.html#a628780da4dccceab6ce79ad880989b26">CO_SDOclient_t::block_seqno</a></div><div class="ttdeci">uint8_t block_seqno</div><div class="ttdoc">Sequence number of segment in block, 1..127.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:144</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga3180f82563b3ed768fe7d3bd34fe1886"><div class="ttname"><a href="group__CO__SDOclient.html#ga3180f82563b3ed768fe7d3bd34fe1886">CO_SDOclientUploadInitiate</a></div><div class="ttdeci">CO_SDO_return_t CO_SDOclientUploadInitiate(CO_SDOclient_t *SDO_C, uint16_t index, uint8_t subIndex, uint16_t SDOtimeoutTime_ms, bool_t blockEnable)</div><div class="ttdoc">Initiate SDO upload communication.</div></div>
<div class="ttc" id="agroup__CO__SDOserver_html_ga7587ddcf798747fe6d97d03bf1bf2979"><div class="ttname"><a href="group__CO__SDOserver.html#ga7587ddcf798747fe6d97d03bf1bf2979">CO_SDO_abortCode_t</a></div><div class="ttdeci">CO_SDO_abortCode_t</div><div class="ttdoc">SDO abort codes.</div><div class="ttdef"><b>Definition:</b> CO_SDOserver.h:333</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga40f6e79592e1d587d02bbb4eaefa9489"><div class="ttname"><a href="group__CO__SDOclient.html#ga40f6e79592e1d587d02bbb4eaefa9489">CO_SDOclientDownloadInitiate</a></div><div class="ttdeci">CO_SDO_return_t CO_SDOclientDownloadInitiate(CO_SDOclient_t *SDO_C, uint16_t index, uint8_t subIndex, size_t sizeIndicated, uint16_t SDOtimeoutTime_ms, bool_t blockEnable)</div><div class="ttdoc">Initiate SDO download communication.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a51322a623ff85d36a8be60c0fe11430e"><div class="ttname"><a href="structCO__SDOclient__t.html#a51322a623ff85d36a8be60c0fe11430e">CO_SDOclient_t::block_crc</a></div><div class="ttdeci">uint16_t block_crc</div><div class="ttdoc">Calculated CRC checksum.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:154</div></div>
<div class="ttc" id="agroup__CO__SDOserver_html_ga0b0e614dadcc1c005185b8bc9a7fec11"><div class="ttname"><a href="group__CO__SDOserver.html#ga0b0e614dadcc1c005185b8bc9a7fec11">CO_SDO_state_t</a></div><div class="ttdeci">CO_SDO_state_t</div><div class="ttdoc">Internal states of the SDO state machine.</div><div class="ttdef"><b>Definition:</b> CO_SDOserver.h:102</div></div>
<div class="ttc" id="astructCO__fifo__t_html"><div class="ttname"><a href="structCO__fifo__t.html">CO_fifo_t</a></div><div class="ttdoc">Fifo object.</div><div class="ttdef"><b>Definition:</b> CO_fifo.h:60</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_gaf5cd4e009476b15a2cd995a9841fb175"><div class="ttname"><a href="group__CO__SDOclient.html#gaf5cd4e009476b15a2cd995a9841fb175">CO_SDOclientUploadBufRead</a></div><div class="ttdeci">size_t CO_SDOclientUploadBufRead(CO_SDOclient_t *SDO_C, char *buf, size_t count)</div><div class="ttdoc">Read data from SDO client buffer.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a13de9457791eecf17051e405665bfa4a"><div class="ttname"><a href="structCO__SDOclient__t.html#a13de9457791eecf17051e405665bfa4a">CO_SDOclient_t::nodeId</a></div><div class="ttdeci">uint8_t nodeId</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:72</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a511a3981c4664be192b19714b95995c0"><div class="ttname"><a href="structCO__SDOclient__t.html#a511a3981c4664be192b19714b95995c0">CO_SDOclient_t::state</a></div><div class="ttdeci">volatile CO_SDO_state_t state</div><div class="ttdoc">Internal state of the SDO client.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:113</div></div>
<div class="ttc" id="aCO__ODinterface_8h_html"><div class="ttname"><a href="CO__ODinterface_8h.html">CO_ODinterface.h</a></div><div class="ttdoc">CANopen Object Dictionary interface.</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga958d0568bd47d9a3152f9ea8d104b5f5"><div class="ttname"><a href="group__CO__SDOclient.html#ga958d0568bd47d9a3152f9ea8d104b5f5">CO_SDOclientDownloadBufWrite</a></div><div class="ttdeci">size_t CO_SDOclientDownloadBufWrite(CO_SDOclient_t *SDO_C, const char *buf, size_t count)</div><div class="ttdoc">Write data into SDO client buffer.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_aa7a9ddc5dbf035644cf59857dcfa83db"><div class="ttname"><a href="structCO__SDOclient__t.html#aa7a9ddc5dbf035644cf59857dcfa83db">CO_SDOclient_t::sizeTran</a></div><div class="ttdeci">size_t sizeTran</div><div class="ttdoc">Size of data which is actually transferred.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:111</div></div>
<div class="ttc" id="astructOD__t_html"><div class="ttname"><a href="structOD__t.html">OD_t</a></div><div class="ttdoc">Object Dictionary.</div><div class="ttdef"><b>Definition:</b> CO_ODinterface.h:352</div></div>
<div class="ttc" id="astructCO__CANmodule__t_html"><div class="ttname"><a href="structCO__CANmodule__t.html">CO_CANmodule_t</a></div><div class="ttdoc">Complete CAN module object.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:319</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_ab4f18ed8c085ea333ca165e486f4ead3"><div class="ttname"><a href="structCO__SDOclient__t.html#ab4f18ed8c085ea333ca165e486f4ead3">CO_SDOclient_t::CANdevTx</a></div><div class="ttdeci">CO_CANmodule_t * CANdevTx</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:83</div></div>
<div class="ttc" id="astructOD__IO__t_html"><div class="ttname"><a href="structOD__IO__t.html">OD_IO_t</a></div><div class="ttdoc">Structure for input / output on the OD variable.</div><div class="ttdef"><b>Definition:</b> CO_ODinterface.h:263</div></div>
<div class="ttc" id="astructOD__entry__t_html"><div class="ttname"><a href="structOD__entry__t.html">OD_entry_t</a></div><div class="ttdoc">Object Dictionary entry for one OD object.</div><div class="ttdef"><b>Definition:</b> CO_ODinterface.h:336</div></div>
<div class="ttc" id="aCO__fifo_8h_html"><div class="ttname"><a href="CO__fifo_8h.html">CO_fifo.h</a></div><div class="ttdoc">FIFO circular buffer.</div></div>
<div class="ttc" id="agroup__CO__SDOclient_html_ga9b98ea2c36f864f1a589c842528b12ab"><div class="ttname"><a href="group__CO__SDOclient.html#ga9b98ea2c36f864f1a589c842528b12ab">CO_SDOclientClose</a></div><div class="ttdeci">void CO_SDOclientClose(CO_SDOclient_t *SDO_C)</div><div class="ttdoc">Close SDO communication temporary.</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a36b10791595b638309a01418d13a745f"><div class="ttname"><a href="structCO__SDOclient__t.html#a36b10791595b638309a01418d13a745f">CO_SDOclient_t::block_blksize</a></div><div class="ttdeci">uint8_t block_blksize</div><div class="ttdoc">Number of segments per block, 1..127.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:146</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a26f9fcf95f47a4f7eeaefdf684e317a1"><div class="ttname"><a href="structCO__SDOclient__t.html#a26f9fcf95f47a4f7eeaefdf684e317a1">CO_SDOclient_t::block_noData</a></div><div class="ttdeci">uint8_t block_noData</div><div class="ttdoc">Number of bytes in last segment that do not contain data.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:148</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a582292a9d5db2b3bf09bb089c788ecd0"><div class="ttname"><a href="structCO__SDOclient__t.html#a582292a9d5db2b3bf09bb089c788ecd0">CO_SDOclient_t::functSignalObject</a></div><div class="ttdeci">void * functSignalObject</div><div class="ttdoc">From CO_SDOclient_initCallbackPre() or NULL.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:132</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_ab2f8be2e90734e78f4e78bdabbb13488"><div class="ttname"><a href="structCO__SDOclient__t.html#ab2f8be2e90734e78f4e78bdabbb13488">CO_SDOclient_t::SDOtimeoutTime_us</a></div><div class="ttdeci">uint32_t SDOtimeoutTime_us</div><div class="ttdoc">Maximum timeout time between request and response in microseconds.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:115</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_a4e2ff087f13ff5a4754b9186c1a2929e"><div class="ttname"><a href="structCO__SDOclient__t.html#a4e2ff087f13ff5a4754b9186c1a2929e">CO_SDOclient_t::timeoutTimer</a></div><div class="ttdeci">uint32_t timeoutTimer</div><div class="ttdoc">Timeout timer for SDO communication.</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:117</div></div>
<div class="ttc" id="astructCO__CANtx__t_html"><div class="ttname"><a href="structCO__CANtx__t.html">CO_CANtx_t</a></div><div class="ttdoc">Configuration object for CAN transmit message for specific CANopenNode Object.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:299</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_gaba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdoc">UNSIGNED8 in CANopen (0005h), 8-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:151</div></div>
<div class="ttc" id="astructCO__SDOclient__t_html_afb8613dbcacfcefb970fabca4106eaeb"><div class="ttname"><a href="structCO__SDOclient__t.html#afb8613dbcacfcefb970fabca4106eaeb">CO_SDOclient_t::CANdevRxIdx</a></div><div class="ttdeci">uint16_t CANdevRxIdx</div><div class="ttdoc">From CO_SDOclient_init()</div><div class="ttdef"><b>Definition:</b> CO_SDOclient.h:81</div></div>
<div class="ttc" id="agroup__CO__ODinterface_html_ga8d459f95307815637e41edc4df71a725"><div class="ttname"><a href="group__CO__ODinterface.html#ga8d459f95307815637e41edc4df71a725">OD_attr_t</a></div><div class="ttdeci">#define OD_attr_t</div><div class="ttdoc">Size of Object Dictionary attribute.</div><div class="ttdef"><b>Definition:</b> CO_ODinterface.h:50</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_f17b92000dd778003adbbcb6b5ce4226.html">301</a></li><li class="navelem"><a class="el" href="CO__SDOclient_8h.html">CO_SDOclient.h</a></li>
    <li class="footer">Generated on Thu Dec 24 2020 14:30:50 for CANopenNode by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
